﻿#pragma once
/*
#include <d3d9.h>
#include <d3dx9.h>
#include <d3dx9tex.h>
*/
#include "Libraries.h"

class CGraphic {
private:
	// đối tượng direct X
	LPDIRECT3D9 d3d;
	// thiết bị vẽ
	LPDIRECT3DDEVICE9 d3ddev;
	// vẽ texture
	LPD3DXSPRITE d3dxSprite;
	// hWnd của cửa sổ vẽ
	HWND hWnd;
	// kích thước của bộ đệm
	int with;
	int height;
public:
	// contructor
	CGraphic(void);
	CGraphic(HWND,int,int);
	// decontructor
	~CGraphic(void);
	// cài đặt thiết bị vẽ
	bool InitD3D();
	// bắt đầu vẽ
	void Begin();
	// kết thúc vẽ
	void End();
	// vẽ các hình cơ bản
	void DrawTexture(LPDIRECT3DTEXTURE9 texture,D3DXVECTOR2 position,D3DCOLOR color);
	void DrawTexture(LPDIRECT3DTEXTURE9 texture,D3DXVECTOR3 center,D3DXVECTOR2 position,D3DCOLOR color);
	void DrawTexture(LPDIRECT3DTEXTURE9 texture,RECT source,D3DXVECTOR3 center,D3DXVECTOR2 position,D3DCOLOR color);
	void DrawTexture(LPDIRECT3DTEXTURE9 texture,D3DXVECTOR2 position,D3DCOLOR color,float angle);
	// vẽ các surface
	void DrawSurface(LPDIRECT3DSURFACE9 surface,LPDIRECT3DSURFACE9 backbuffer,RECT rect);
	// lấy thiết bị vẽ
	LPDIRECT3DDEVICE9 GetDevice();
	// giấu con trỏ chuột
	void HideCursor(bool flag);
};
